// pages/citylist/citylist.js
const map = require('../../libs/map')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    locSuccess: false, // 保存是否已经成功定位
    map: map,  // 保存城市列表数据
    letter: 'A',  // 保存当前选中的字母
    cityname: '未选择', //表示定位城市名
  },

  /** 加载当前定位信息 */
  getLocation(){
    let QQMapWX = require('../../libs/qqmap-wx-jssdk')
    let qqmapsdk = new QQMapWX({
      key: 'WYXBZ-OWJLR-E4EW4-WCIUK-XEWFF-YOBZY'
    })
    qqmapsdk.reverseGeocoder({
      success: (res)=>{
        let city = res.result.address_component.city
        console.log('当前位置信息：', city);
        this.setData({
          cityname: city,
          locSuccess: true // 修改定位状态：定位成功
        })
      }
    })
  },

  /** 点击城市名 */
  tapCity(event){
    let c = event.target.dataset.c // 获取data-c属性值 城市名
    if(c == undefined){
      return;
    }
    // 将城市名，存入app.globalData中，直接回到上一页即可
    getApp().globalData.cityname = c
    wx.navigateBack()
  },

  /** 点击字母导航 */
  tapLetter(event){
    let l = event.target.dataset.l // 获取data-l属性值
    this.setData({letter: l})
  },

  /** 点击定位城市文本 */
  tapLocCity(){
    if(this.data.locSuccess){
      getApp().globalData.cityname = this.data.cityname
      wx.navigateBack()
    }else{
      console.log('自动定位失败，弹窗提示');
      wx.showModal({
        title: '提示',
        content:'是否跳转到设置,重新赋予定位权限',
        success:(res) =>{
            if(res.confirm){
                wx.openSetting({
                    success:(settingRes)=>{
                        console.log('设置结果',settingRes);
                        if(settingRes.authSetting['scope.userLocation']){
                            // 重新赋予权限后,调用getlocation
                            this.getLocation()
                        }
                    }
                })
            }
        },
       
      })
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(map)
    this.getLocation()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})